#region Imported Namespaces


using System.Windows.Input;


#endregion


namespace WtfManager.UIManager.Commands
{
  ///<summary>
  /// An interface for command handlers.
  ///</summary>
  public interface ICommandHandler
  {
    #region Properties/Indexers


    ///<summary>
    /// Gets a <see cref="ICommand"/> that is handled by this handler.
    ///</summary>
    ICommand Command
    {
      get;
    }


    #endregion


    #region Methods


    ///<summary>
    /// Determines whether a handled command can be executed.
    ///</summary>
    bool CanExecuteCommand(object sender, object parameter);


    /// <summary>
    /// Executes command.
    /// </summary>
    void ExecuteCommand(object sender, object parameter);


    #endregion
  }
}